﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BakeryInventoryTesting
{
  public  class BakeryInventory:List<BakeryItem>
    {
        public void AddItem(BakeryItem item)//创建AddItem方法用于添加新物品
        {
            if (IndexOf(item) > -1)//检查索引,0是第一个，-1是不存在
            {
                throw new ArgumentException("重复添加物品");
            }
            Add(item);//如果不存在则添加
        }
        
        public void RemoveItem(string name)
        {
            // 查找第一个匹配名称的物品
            var itemToRemove = this.FirstOrDefault(i => i.Name == name);

            // 如果没有找到匹配的物品，则抛出异常
            if (itemToRemove == null)
            {
                throw new ArgumentException("没有找到物品");
            }

            // 删除找到的物品
            this.Remove(itemToRemove);
        }
        public decimal GetTotalValue()
        {
            return this.Sum(s => s.Price * s.Quantity);
            //遍历列表的总价值，价格*数量
        }
    }
}
